/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package chapter5.behavioral.templatemethod;

/**
 *
 * @author ASUS
 */
public abstract class Meal {
    public final void doMeal()
    {
        prepareIngredients();
        cook();
        eat();
        cleanUp();
    }
    
    public abstract void prepareIngredients();
    public abstract void cook();
    
    public void eat()
    {
        System.out.println("Mmmmm, that's good");
    }
    
    public abstract void cleanUp();
}
